Using Strongest Postconditions to Improve Software Quality
نویسندگان
چکیده
The cost of developing and maintaining high quality software remains at a premium. In this paper we introduce a practical approach for enhancement of software quality, based on calculation of strongest postconditions of program components. The method provides a powerful means for detecting and removing by transformation various forms of redundancy and inconsistency in programs. The feasibility of this approach depends upon calculations of strongest postconditions for iterative constructs and assignments. Keyword Codes: D.2.1; D.2.4, D.2.8; F.3.1, F.3.2
منابع مشابه
Using Contracts and Boolean Queries to Improve the Quality of Automatic Test Generation
Since test cases cannot be exhaustive, any effective test case generation strategy must identify the execution states most likely to uncover bugs. The key issue is to define criteria for selecting such interesting states. If the units being tested are classes in object-oriented programming, it seems attractive to rely on the boolean queries present in each class, which indeed define criteria on...
متن کاملSupporting Design by Contract in Java
Design by Contract is a valuable design method for trusted software components. Eiffel shows how to provide appropriate language support for it. However, no such concepts currently exist in Java. Full integration of them into Java may help to improve and guarantee the quality of Java classes. We briefly compare several approaches to extend Java in this way and present our model and a compiler t...
متن کاملCorrectness of high-level transformation systems relative to nested conditions
We introduce the notions of nested constraints and application conditions, short nested conditions. For a category associated with a graphical representation such as graphs, conditions are a graphical and intuitive, yet precise formalism, well-suited to describe structural properties. We show that nested graph conditions are expressively equivalent to first-order graph formulas. A part of the p...
متن کاملCharacterising approximate problem-solving by partially fulfilled pre- and postconditions
In Software Engineering, the functionality of a program is traditionally characterised by preand postconditions: if the preconditions are fulfilled then the postconditions are guaranteed to hold, but if the preconditions are not fulfilled, no postconditions are guaranteed at all. In this paper, we study how the functionality of a program is affected when the preconditions are only partially ful...
متن کاملOptimizing database-backed applications with query synthesis Citation
Object-relational mapping libraries are a popular way for applications to interact with databases because they provide transparent access to the database using the same language as the application. Unfortunately, using such frameworks often leads to poor performance, as modularity concerns encourage developers to implement relational operations in application code. Such application code does no...
متن کامل